-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add data node migration wizard #17768
Conversation
- rename file
8af0564
to
2f17c7a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still need to test
- When OpenSearch is not stopped
- Certificate Upload
- Certificate renewal policy tab
I am already going to post all findings and thoughts that I have so far. In general, there are a lot of typos, extra spaces, misspellings of "terms" like OpenSearch
, Data Node
, etc.
I tried to point out all that I found but please have another look. I think spelling mistakes like that don't make a feature appear mature.
Code-wise it looks good, just some nit-picks, nothing crucial.
Wizard in general
- Typo
Certificate autority
, should beCertificate authority
- I can click on non-active steps (previous and next) but nothing happens. Confusingly, the clicked step stays in a visual focused state
- If I go from
Certificate authority
toMigration Steps
there is no way to get back again - I cannot see an option to cancel the migration process and/or start from step 1 again. After reloading I am still stuck on the step
- After a migration is finished I still see the last step. What, if I potentially want to migrate to another Data Node?
Welcome Step
- Headline says "Migration to Data node !", remove
!
- In the copy:
OpenSearch
is written with lower cases
- In quite some places we say
Data node
ordata node
, but on all other pages we spell itData Node
- Typos:
Migrating to data node require some step the are performed using the UI in this wizard, but it also require some additional step that should be performed on the OS, you current OS/ES cluster and you config files
->Migrating to Data Node requires some steps the are performed using the UI in this wizard, but it also requires some additional steps that should be performed on the OS, your current OS/ES cluster and your config files.
You can get more information on the Data node migration [documentation](https://docs.graylog.org/docs/graylog-data-node)
missing.
- In the table,
status
is written in lower case where all other columns start with an upper case letter
Directory compatibility check
OpenSearch
is misspelled in some places (Opensearch
instead ofOpenSearch
)Data Node
is misspelled in some places
Migration steps
The following points apply to multiple or all of the steps.
Data Node
is misspelled in some placesOpenSearch
is misspelled in some places- Headline:
Rolling upgrade migration.
, should remove.
- Text:
Follow these steps to migrate your existing migrating an existing OpenSearch 2.x or 1.3.x cluster to Data Node
. Missing.
, also this sentence seems to miss a word or needs to be restructured. - Typo:
To start please install Data node on every OS/ES node from you previous setup.
, should beTo start please install Data node on every OS/ES node from your previous setup.
- In the table,
status
is written in lower case where all other columns start with an upper case letter - Journal size warning text:
Graylog
is written in lowercase, I am not sure if it should beuppercase
- In some places journal is lowercase, in one it's uppercase, we should decide
- Typo:
You can now provision certificate for your data nodes.
, eithera certificate
orcertificates
- Typo:
Provisionning data nodes certificate.
, should beProvisioning Data Node certificates
- Copy:
Please remove the `elasticsearch_hosts` line from you graylog
Ex. `elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200`
Once the done. Please restart graylog to finish the migration
Should be:
Almost there!
Please remove the `elasticsearch_hosts` line from your `graylog.conf`.
E.g., `elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200`
Once that's done, please restart Graylog to finish the migration.
import { QUERY_KEY as DATA_NODES_CA_QUERY_KEY } from 'components/datanode/hooks/useDataNodesCA'; | ||
import { MIGRATION_STATE_QUERY_KEY } from 'components/datanode/hooks/useMigrationState'; | ||
|
||
type FormValues = {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should have more specific typing.
{(currentStep.next_steps.length <= 0) && (<p>Please create a certificate renewal policy before proceeding.</p>)} | ||
<MigrationStepTriggerButtonToolbar nextSteps={currentStep.next_steps} onTriggerStep={onTriggerStep} /> | ||
</> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`; | ||
const StyledSpan = styled.span` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`; | |
const StyledSpan = styled.span` | |
`; | |
const StyledSpan = styled.span` |
} | ||
const Grid = styled.div` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
} | |
const Grid = styled.div` | |
} | |
const Grid = styled.div` |
`; | ||
const StyledPanelGroup = styled(PanelGroup)` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`; | |
const StyledPanelGroup = styled(PanelGroup)` | |
`; | |
const StyledPanelGroup = styled(PanelGroup)` |
</> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
</> | |
</> |
); | ||
export default JournalDowntimeWarning; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
); | |
export default JournalDowntimeWarning; | |
); | |
export default JournalDowntimeWarning; |
`; | ||
const JournalSizeWarning = () => ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`; | |
const JournalSizeWarning = () => ( | |
`; | |
const JournalSizeWarning = () => ( |
</> | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
</> | |
</> |
`; | ||
const StopMessageProcessing = ({ currentStep, onTriggerStep }: MigrationStepComponentProps) => ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
`; | |
const StopMessageProcessing = ({ currentStep, onTriggerStep }: MigrationStepComponentProps) => ( | |
`; | |
const StopMessageProcessing = ({ currentStep, onTriggerStep }: MigrationStepComponentProps) => ( |
Thank you @grotlue for the review, here are some remarques about some questions.
In the current implementation, there is no way to go back once a step is completed; only in the rolling upgrade migration it's is it possible to come back to the Cluster info form.
It's not currently possible to cancel the migration; I already mentioned it to the backend team, and we might add that in the future.
An OpenSearch cluster should only be migrated once. If another data node is added it will join the existing one and form a cluster. Working on the others. |
1743e4f
to
a45d109
Compare
Here are some additional findings. I would like to have another look at Remote indexing but due to the errors it's now usable at the moment. Certificate Renewal Policy ConfigurationMigration StepsRemote reindexing |
<Row> | ||
<Col md={6}> | ||
<MigrationError errorMessage={currentStep.error_message} /> | ||
<Headline>Migration to Data Node !</Headline> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<Headline>Migration to Data Node !</Headline> | |
<Headline>Migration to Data Node</Headline> |
It looks like you updated Graylog and want to configure a Data Node. Data Nodes allow you to index and search through all the messages in your Graylog message database. | ||
</p> | ||
<p> | ||
Using this migration tool you can check the compatibility and follow the steps to migrate your exsisting OpenSearch data to a Data Node.<br /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Using this migration tool you can check the compatibility and follow the steps to migrate your exsisting OpenSearch data to a Data Node.<br /> | |
Using this migration tool you can check the compatibility and follow the steps to migrate your existing OpenSearch data to a Data Node.<br /> |
|
||
return ( | ||
<Col md={6}> | ||
<StyledTitle>Remote reindexing migration.</StyledTitle> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<StyledTitle>Remote reindexing migration.</StyledTitle> | |
<StyledTitle>Remote reindexing migration</StyledTitle> |
return ( | ||
<> | ||
<h3>Welcome</h3> | ||
<p>Using the Remote Reindexing will allow you to move the datanode by reindexing the data in your existing cluster to the datanode cluster.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Using the Remote Reindexing will allow you to move the datanode by reindexing the data in your existing cluster to the datanode cluster.</p> | |
<p>Using the Remote Reindexing will allow you to move the Data Node by reindexing the data in your existing cluster to the Data Node cluster.</p> |
<> | ||
<h3>Welcome</h3> | ||
<p>Using the Remote Reindexing will allow you to move the datanode by reindexing the data in your existing cluster to the datanode cluster.</p> | ||
<p>To start please install Data Node on every OS/ES node from you previous setup. You can fing more information on how to download and install the Data Node <DocumentationLink page="graylog-data-node" text="here" />.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>To start please install Data Node on every OS/ES node from you previous setup. You can fing more information on how to download and install the Data Node <DocumentationLink page="graylog-data-node" text="here" />.</p> | |
<p>To start please install Data Node on every OS/ES node from your previous setup. You can find more information on how to download and install the Data Node <DocumentationLink page="graylog-data-node" text="here" />.</p> |
return ( | ||
<Col md={6}> | ||
<StyledTitle>Remote reindexing migration.</StyledTitle> | ||
<p>Follow these steps to migrate your existing migrating an existing OpenSearch 2.x or 1.3.x cluster to Data |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Follow these steps to migrate your existing migrating an existing OpenSearch 2.x or 1.3.x cluster to Data | |
<p>Follow these steps to migrate your existing OpenSearch 2.x or 1.3.x cluster to Data |
<p>Almost there !</p> | ||
<p>Please remove the <code>elasticsearch_hosts</code> line from your <code>graylog.conf</code> </p> | ||
<p>Ex. <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | ||
<Space h="md" /> | ||
<p>Once that`‘`s done. Please restart Graylog to finish the migration.</p> | ||
<MigrationStepTriggerButtonToolbar nextSteps={currentStep.next_steps} onTriggerStep={onTriggerStep} /> | ||
</> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Almost there !</p> | |
<p>Please remove the <code>elasticsearch_hosts</code> line from your <code>graylog.conf</code> </p> | |
<p>Ex. <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | |
<Space h="md" /> | |
<p>Once that`‘`s done. Please restart Graylog to finish the migration.</p> | |
<MigrationStepTriggerButtonToolbar nextSteps={currentStep.next_steps} onTriggerStep={onTriggerStep} /> | |
</> | |
<p>Almost there!</p> | |
<p>Please remove the <code>elasticsearch_hosts</code> line from your <code>graylog.conf</code> </p> | |
<p>E.g., <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | |
<Space h="md" /> | |
<p>Once that's done, please restart Graylog to finish the migration.</p> | |
<MigrationStepTriggerButtonToolbar nextSteps={currentStep.next_steps} onTriggerStep={onTriggerStep} /> | |
</> |
<p>Please remove the <code>elasticsearch_hosts</code> line from you Graylog configuration file (<code>graylog.conf</code>). </p> | ||
<p>Ex. <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | ||
<Space h="md" /> | ||
<p>Once that is done please proceed to the next step.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Please remove the <code>elasticsearch_hosts</code> line from you Graylog configuration file (<code>graylog.conf</code>). </p> | |
<p>Ex. <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | |
<Space h="md" /> | |
<p>Once that is done please proceed to the next step.</p> | |
<p>Please remove the <code>elasticsearch_hosts</code> line from your Graylog configuration file (<code>graylog.conf</code>).</p> | |
<p>E.g., <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | |
<Space h="md" /> | |
<p>Once that is done please proceed to the next step.</p> |
const ShutdownClusterStep = ({ currentStep, onTriggerStep }: MigrationStepComponentProps) => ( | ||
<> | ||
<p>The migration from your current <code>OpenSearch</code> to the Data Node is almost done.</p> | ||
<p>to finish please shut down your <code>OpenSearch</code> cluster before continuing.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>to finish please shut down your <code>OpenSearch</code> cluster before continuing.</p> | |
<p>To finish please shut down your <code>OpenSearch</code> cluster before continuing.</p> |
<> | ||
<h3>Welcome</h3> | ||
<p>Using the Remote Reindexing will allow you to move the Data Node by reindexing the data in your existing cluster to the Data Node cluster.</p> | ||
<p>To start please install Data Node on every OS/ES node from your previous setup. You can find more information on how to download and install the Data Node <DocumentationLink page="graylog-data-node" text="here" />.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>To start please install Data Node on every OS/ES node from your previous setup. You can find more information on how to download and install the Data Node <DocumentationLink page="graylog-data-node" text="here" />.</p> | |
<p>To start please install Data Node on every OS/ES node from your previous setup. You can find more information on how to download and install the Data Node <DocumentationLink page="graylog-data-node" text="here" />.</p> |
<p> | ||
Using this migration tool you can check the compatibility and follow the steps to migrate your existing OpenSearch data to a Data Node.<br /> | ||
</p> | ||
<p>Migrating to Data Node requires some steps the are performed using the UI in this wizard, but it also requires some additional steps that should be performed on the OS, your current OS/ES cluster and your config files.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Migrating to Data Node requires some steps the are performed using the UI in this wizard, but it also requires some additional steps that should be performed on the OS, your current OS/ES cluster and your config files.</p> | |
<p>Migrating to Data Node requires some steps that are performed using the UI in this wizard, but it also requires some additional steps that should be performed on the OS, your current OS/ES cluster and your config files.</p> |
<p>Please remove the <code>elasticsearch_hosts</code> line from your <code>graylog.conf</code></p> | ||
<p>E.g., <code>elasticsearch_hosts = https://admin:admin@opensearch1:9200,https://admin:admin@opensearch2:9200,https://admin:admin@opensearch3:9200</code></p> | ||
<Space h="md" /> | ||
<p>Once that`s done, please restart Graylog to finish the migration.</p> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
<p>Once that`s done, please restart Graylog to finish the migration.</p> | |
<p>Once that's done, please restart Graylog to finish the migration.</p> |
These changes add UI for the Datanode migration API. The step in the migration wizard uses the state machine API.
fix #17703
Types of changes
Checklist: